<?php
	try {
	    require_once '../../controller/controller.inc.php';
	    $usuario->isAuthorizedView(Operacao::MOVIMENTACAO_CARENCIA);
	    
	    //Paramentro id da carencia
	    
	    if (!isset($_GET['carenciaid'])) {
	        header('Location: ../carencia/pesquisarAcompanhamento.php');
	    }
	    
	    $id = (isset($_GET["carenciaid"])) ? $_GET["carenciaid"] : NULL;
	    $objeto = new Carencia($id);
	    
	    if ($objeto->carenciaid === NULL) { 
		    throw new Exception('Carência não encontrada.');
		}
		
		if (!$usuario->isLotacaoPermitida($objeto->lotacaoid)
		    AND !$usuario->isVagaPermitida($objeto->vagaid)) {
		    $usuario->redirectUnauthorized();
		}
	    
	    //Paramentro msg
	    $sucesso = (isset($_GET["msg"])) ? $_GET["msg"] : NULL;
	    	    
	    //Objetos relacionados com a carencia
	    $cargo = $objeto->getCargo();
	    $vaga = $objeto->getVaga();
        $contrato = $vaga->getContrato();
	    $lotacao = $objeto->getLotacao();
	    $historicoAtual = $objeto->getCarenciaHistoricoAtual();	    
	    $operador = $objeto->getOperador();	
		$status = ($historicoAtual !== NULL) ? $historicoAtual->getStatus() : NULL;
	    
		$historico = new CarenciaHistorico();
		$listaHistorico = $historico->listar(array('where'=>'carenciaid='.$id,'orderBy'=>'dataregistro','order'=>'desc'));
		
		//Autorização de Aprovação ou Reprovação de Carencia
		$aprovacao = FluxoCarencia::isAuthorized('aprovar', $objeto);
		    			 
		//Autorização de CONFIRMAÇÂO de Carencia
		$confirmacao = FALSE;
		if (FluxoCarencia::isAuthorized('confirmar', $objeto)) {
		    header("location:confirmar.php?carenciaid=$id");
		}
		
	   if (isset ($_POST["btnAcao"]))
	    {
	        $acao = $_POST["btnAcao"];
	        switch($acao)
	        {
	        	case 'Encaminhar':	            	
	            	header("location:aprovar.php?carenciaid=$id");	            	
	    		break;
	    		
	    		case 'Desconsiderar':	    			    		
	            	header("location:reprovar.php?carenciaid=$id");	
	    		break;	    		    		
	        }
	    }
	} 
	catch(exception $e){		
		$erro = $e->getMessage();
	}
?>
